package com.example.tetstmybatis.service;
import com.example.tetstmybatis.domain.Topn3;
import com.example.tetstmybatis.domain.Topn3Example;
import com.example.tetstmybatis.domain.dto.Topn3Dto;
import com.example.tetstmybatis.mapper.Topn3Mapper;
import com.example.tetstmybatis.rep.ResopnseDto;
import com.example.tetstmybatis.req.ReqTopn3;
import com.example.tetstmybatis.utils.CopyUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class Topn3Service {
    @Autowired
    private Topn3Mapper topn3Mapper;
    public ResopnseDto list(){
        ResopnseDto resopnseDto = new ResopnseDto();
        Topn3Example topn3Example = new Topn3Example();
        topn3Example.setOrderByClause("dzs desc");
        List<Topn3> topn3slist = topn3Mapper.selectByExample(topn3Example);

//        ArrayList<Topn3Dto> topn3Dtos = new ArrayList<>();
//        for(int i=0,l=topn3slist.size();i<l;i++){
//            Topn3 topn3 = topn3slist.get(i);
//            Topn3Dto topn3Dto = new Topn3Dto();
//            BeanUtils.copyProperties(topn3,topn3Dto);
//            topn3Dtos.add(topn3Dto);
//        }
        final List<Topn3Dto> topn3Dtos = CopyUtil.copyList(topn3slist, Topn3Dto.class);

        resopnseDto.setContent(topn3Dtos);
        return resopnseDto;
    }

    public ResopnseDto querybyDzs(ReqTopn3 reqTopn3){
        Topn3Example topn3Example = new Topn3Example();
        topn3Example.createCriteria().andDzsEqualTo(reqTopn3.getDzs());
//        topn3Example.createCriteria().andDzsGreaterThan(reqTopn3.getDzs());
        topn3Example.setOrderByClause("dzs desc");
        ResopnseDto resopnseDto = new ResopnseDto();
        List<Topn3> topn3list = topn3Mapper.selectByExample(topn3Example);
//        ArrayList<Topn3Dto> topn3Dtolist = new ArrayList<>();
//        for(int i=0,l=topn3list.size();i<l;i++){
//            Topn3 topn3 = topn3list.get(i);
//            Topn3Dto topn3Dto = new Topn3Dto();
//            BeanUtils.copyProperties(topn3,topn3Dto);
//            topn3Dtolist.add(topn3Dto);
//        }
        List<Topn3Dto> topn3Dtos = CopyUtil.copyList(topn3list, Topn3Dto.class);
        resopnseDto.setContent(topn3Dtos);
        return resopnseDto;
    }

    public ResopnseDto querybyXm(ReqTopn3 reqTopn3){
        ResopnseDto resopnseDto = new ResopnseDto();
        Topn3Example topn3Example = new Topn3Example();
//        topn3Example.createCriteria().andXmEqualTo(xm);
        topn3Example.createCriteria().andXmLike("%"+reqTopn3.getXm()+"%");
        List<Topn3> topn3list = topn3Mapper.selectByExample(topn3Example);
//        ArrayList<Topn3Dto> topn3Dtolist = new ArrayList<>();
//        for(int i=0,l=topn3list.size();i<l;i++){
//            Topn3 topn3 = topn3list.get(i);
//            Topn3Dto topn3Dto = new Topn3Dto();
//            BeanUtils.copyProperties(topn3,topn3Dto);
//            topn3Dtolist.add(topn3Dto);
//        }
        List<Topn3Dto> topn3Dtolist = CopyUtil.copyList(topn3list, Topn3Dto.class);
        resopnseDto.setContent(topn3Dtolist);
        return resopnseDto;
    }
    // 更新
    //添加
    //删除

}
